package 算法.lib;

/*给你一个字符串 s 和一个整数 t，表示要执行的 转换 次数。每次 转换 需要根据以下规则替换字符串 s 中的每个字符：
如果字符是 'z'，则将其替换为字符串 "ab"。
否则，将其替换为字母表中的下一个字符。例如，'a' 替换为 'b'，'b' 替换为 'c'，依此类推。
返回 恰好 执行 t 次转换后得到的字符串的 长度。
由于答案可能非常大，返回其对 109 + 7 取余的结果。*/

public class LengthAfterTransformations {
    public int lengthAfterTransformations(String s, int t) {
        for(int i=0;i<t;i++){
            StringBuilder sb=new StringBuilder();
            for(int j=0;j<s.length();j++){
                char c=s.charAt(j);
                if(c=='z'){
                    sb.append("ab");
                }else{
                    sb.append((char)(c+1));
                }
            }
            s=sb.toString();
        }
        int mod=1000000007;
        return s.length()%mod;
    }
}